home *** CD-ROM | disk | FTP | other *** search
- AGNUS - Zusatzinfos zu GNU-C/C++ 2.7.2 bzw. 2.72
- Volker Hemsen, 20.09.1996
-
- Ich habe AGNUS an das vom Softwareservice Seidel vertriebene GNU-C++-
- Entwicklungspaket so weit wie möglich angepaßt. Folgendes ist zu
- beachten:
-
- - Im Dialog 'Pfade & Environment' muß man die Version von Compiler und
- Linker einstellen. Zu GNU-C 2.5.8 gehört normalerweise PL36 und zu
- 2.7.2 PL37. Dies wird benötigt um den Eigenarten der beiden Programm-
- versionen gerecht zu werden.
- - Der einzigste größere Inkompatibilität des Compilers zu älteren GNU-
- Versionen liegt darin, daß die Environment-Variablen GCC_EXEC_PREFIX,
- GNUINC und GXXINC nicht richtig ausgewertet werden. AGNUS übergibt
- die Pfade nochmals mit den Optionen '-Bprefix' und '-Ipath'.
- - Probleme gibt es mit dem Linker (PL38), da das System der Bibliotheks-
- namen umgestellt wurde, und der Linker versucht, die mit '-l' übergebenen
- Dateinamen zu korrigieren! Da AGNUS bisher die Existenz der zu den
- eingestellten Optionen passenden Bibliotheken überprüfte und dann die
- kompletten Dateinamen übergab, mußte hier einiges geändert werden, aber
- jetzt sollte es laufen.
- altes Format (PL36): [b][m][g]<name>[16].olb
- neues Format (PL38): [b][m][g]lib<name>[16].a
- b: basisrelative Adressierung
- m: MiNT-Unterstützung
- g: GNU-Profiler-Unterstützung
- 16: 16bit Integer, statt 32
- An den Linker bzw. an gcc werden nur noch die Namen der Bibliotheken
- (also gnu, pml, iio usw.) übergeben. Den Rest scheint das System selbst
- erledigen zu können.
- Seltsamerweise enthält die Seidel-Distribution nur Bibliotheken mit den
- alten Namen, so daß man diese erst umbenennen muß!
- Beim Erzeugen einer Lib mit AGNUS wird der Dateiname ebenfalls nach dem
- oben genannten Schema manipuliert!
- - Wie man leicht erkennt verlängern sich die Dateinamen um 3 Zeichen, so daß
- man mit dem alten 8+3-Dateisystem Probleme bekommen kann. Aus diesem Grund
- kennt AGNUS für einige Zusatz-Bibliotheken folgende Abkürzungen:
- widget: wdgt, wdg
- curses: crss, crs
- termcap: trmcp, trm
- socket: sck
- xlib: xlb (umfangreiche Erweiterungsbibliothek des Autors)
- Bsp: termcap-Lib, basisrel. Adr., 16Bit Integer:
- altes Format: btrm16.olb, neues Format: blibtrm16.a
- - Die Bibliothek für die I/O-FPU '881' läuft nicht mit der gnu-Lib zusammen.
- - gcc gibt bei basisrelativer Adressierung die Option '-n' und bei 16bit
- Integer '-H' an den Linker. Dies ist undokumentiert und erzeugt Probleme,
- denn der symbolische Linker 'sym-ld' PL38 kann mit '-H' überhaupt nichts
- anfangen und bricht die Arbeit ab. Was für'n Pfusch! Ansonsten läuft mit
- gdb 3.6 alles gut zusammen.
- - Der Fortran-Compiler erzeugt aus dem Namen der 'subroutine main()' leider
- das Symbol '_main_' statt '_main', so daß man entweder ein kleines Zwischen-
- modul in Assembler verwenden muß, oder man manipuliert 'crt0' entsprechend.
- - Weitere Mängel sind mir bisher nicht aufgefallen.
-
-
- weitere Mängel des Seidel-Paketes:
- - keine C++-Includes und Libs (stand da nicht C++-Entwicklungspaket auf der CD?)
- - keine GEM und GEM++-Bibliothek
- - keine üblichen Zusatzbibliotheken (widget, curses, termcap)
- - mangelhafte Dokumentation
- - Ein Großteil der Daten ist einem riesigen tar-Archiv gepackt. Um dieses
- zu entpacken, müßte ICH mir erst eine neue Platte kaufen!!!
- - 49 DM sind viel GELD für diesen kleinen Umfang.
-